/**
 * 
 */
package due.pc.pcshoot.level;

import java.util.HashMap;

import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;

/**
 * @author manhhung.vu
 *
 */
public class LevelParser extends DefaultHandler
{
	//===============================================================/
	//Constants
	//===============================================================/
	
	
	//===============================================================/
	//Fields
	//===============================================================/
	HashMap<String, ILoader> mLoaders;
	
	//===============================================================/
	//Constructors
	//===============================================================/
	public LevelParser(HashMap<String, ILoader> pLoaders) {
		mLoaders = pLoaders;
	}

	
	//===============================================================/
	//Inherited Methods
	//===============================================================/
	@Override
	public void startElement(
			String uri, String localName, String qName,
			Attributes attributes) throws SAXException 
	{
		ILoader loader = mLoaders.get(localName);
		if (loader != null) loader.onLoadEntity(localName, attributes);
	}
	
	@Override
	public void endElement(String uri, String localName, String qName) throws SAXException 
	{
		ILoader loader = mLoaders.get(localName);
		if (loader != null) loader.onEntityLoaded(localName);
	}
}
